<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class M_Pericia extends Modelo {

    public $id = null;
    public $demandadoId;
    public $usuarioId;
    public $titulo;
    public $fecha;
    public $valoracion;
    public $descripcion;

    function __construct() {
        parent::__construct();
        $this->tabla = 'pericias';
    }

    function setAttributes($datos = array(), $tipo = 'object') {
        return parent::_setAttributes(__CLASS__, $datos, $tipo);
    }

    function doArray() {
        return parent::_doArray(__CLASS__);
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function getValidacion() {
        $valid = array(
            array('field' => 'demandadoId', 'label' => 'Demandado', 'rules' => 'trim|required'),
            array('field' => 'fecha', 'label' => 'Fecha', 'rules' => 'date|required'),
            array('field' => 'titulo', 'label' => 'Titulo', 'rules' => 'trim|required'),
            array('field' => 'descripcion', 'label' => 'Descripcion', 'rules' => 'trim|required'),
            array('field' => 'valoracion', 'label' => 'Valoracion', 'rules' => 'is_natural_no_zero|required'),
        );
        $this->form_validation->set_message('is_natural_no_zero', 'El campo Valoración es requerido.');
        return $valid;
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function valoresPorDefecto() {
        return array(
            'demandadoId' => '',
            'usuarioId' => '',
            'titulo' => '',
            'descripcion' => '',
            'valoracion' => '',
            'fecha' => gmdate('d/m/Y'),
        );
    }

    /**
     * Metodo para levantar un item de la base de datos por id
     * @param integer $id el id del objeto a levantar
     * @return boolean falso si hubo error, true si tuvo exito
     */
    public function getListPorCausaId($causaId) {
        $select =
                $this->tabla . '.id,
                ' . $this->tabla . '.fecha,
                ' . $this->tabla . '.titulo,
                ' . $this->tabla . '.descripcion,
                ' . $this->tabla . '.valoracion,
                medicos.matricula,
                medicos.nombre
                ';
        $this->db->select($select);
        $this->db->from($this->tabla);
        $this->db->join('demandados', 'demandados.id = ' . $this->tabla . '.demandadoId');
        $this->db->join('medicos', 'medicos.matricula = demandados.matricula');

        $this->db->where('demandados.causaId', $causaId);


        $results = $this->db->get();

        return $results->result_object();
    }

}